The present invention relates to a circuit for clock recovery from a specified datastream, based on a digital Phase Locked Loop, which is also known as a digital PLL or DPLL.
The present invention finds applications, for example, in the terminals of a system for interactive digital telebroadcasting (“Digital Video Broadcasting” or “DVB”), in particular by satellite, by cable, or by terrestrial transmission, which terminals are also known as decoder boxes (or “Set-Top Boxes” or “STBs”). With the introduction of interactive services into these systems, STBs are thus becoming i-STBs (“Interactive STBs”).
Several standards for the transmission of telebroadcast digital interactive information are currently known. For telebroadcasting by satellite, the following are known: the DVB-RCS (“DVB—Return Channel Satellite”), ESW (“EuroSkyWay”), ad HB6 (“Hot Bird 6”) standards, and the iTV-RCS (“Interactive Television—Return Channel Satellite”) standard for interactive television. For cable telebroadcasting, the following standards are known: DOCSIS (“Data Over Cable Services Interfaces Specifications”), and DVB-RCC (“DVB—Return Channel Cable”). For terrestrial telebroadcasting, the DVB-RCT (“DVB—Return Channel Terrestrial”) standard is known.
The interactivity of the system is conveyed by a bidirectional channel between the source of telebroadcast data and the user terminal or the user terminals. From the point of view of the user terminal, this bidirectional channel comprises a downstream channel through which the telebroadcast signal is received, and an upstream channel or return channel for the transmission of a return signal. The telebroadcast signal contains downstream data, for example multimedia data corresponding to one or more audiovisual programs. The return signal contains upstream data, for example codes corresponding to votes with regard to a televised game, identification and/or payment data with regard to pay-per-view television, etc.
Further, a downstream interactive channel contains return signalling data allowing access to the interactive network and synchronization of the user terminals.
When the downstream interactive channel and the downstream payload channel are multiplexed on the same carrier, the application is said to be “In-Band” or IB. Such is the case for the DVB-RCS standard. When on the contrary the downstream interactive channel is not multiplexed with the downstream payload channel but follows a different physical path (for example via a data transmission network), the application is said to be “Out Of Band” or OOB. Such is the case for the DVB-RCC standard.
Among the aforesaid return signalling data, the downstream interactive channel transports an offset parameter that is referred to as the MAC_OFFSET parameter in the literature. This parameter allows each user terminal to clamp itself (temporally) onto the return channel with respect to the other user terminals of the interactive network, by compensating for the differences in remoteness between the various terminals. It may have a resultant composed of an integer number of symbols and of a symbol decimal part. In general, this parameter is related to the frame period of the downstream data flow.
All the standards cited above and generally all the standards envisaged in the exemplary applications of the present invention, provide for a packetized organization of the data in the various transport streams, for example using the MPEG2 (“Moving Pictures Expert Group 2”) packets. The headers of these packets contain control information. In interactive applications where there is a distributed network clock, certain packets may contain an NCR (“Network Clock Recovery”) field as is the case for the DVB-RCS, iTV-RCS and DVB-RCT standards based on MPEG2 downstream flow. The NCR field is present aperiodically in the downstream data flow. The values of the NCR field function to allow the user terminal to synchronize itself with the clock of the telebroadcasting network, with a view to allowing the processing of the data of the packet stream and to clocking the transmission of the upstream data over the return channel.
The transmission of upstream data symbols over the return channel is clocked by a transmission clock (or rather a time base). This time base must be generated in the user terminal from clock references contained in the downstream data flow received by the user terminal.
In fact, there are currently two types of recovery of the reference clock for the synchronization of the return channel, according to the standard of the telebroadcasting system. The first type affords recovery in periodic mode, and the second affords recovery in aperiodic mode.
The periodic mode is used for the ESW, HB6 and DVB-RCC standards. Recovery of the reference clock is performed according to a “frame-by-frame” method. This method involves establishing a simple relationship between the bit rate of the downstream channel and the bit rate of the return channel. For example, the downstream packet bit rate, the upstream symbol bit rate, etc., may be regarded as parameters. The following relationship may then be written:
                    Fout        =                              P            Q                    ×          Fin                                    (        1        )            where:
Fin is in this example the frequency of the packets of the downstream flow;
Fout is in this example the bit rate of symbols of the upstream flow; and
P and Q are relatively prime integers.
The structure of the upstream data flow is organized into frames. The frame length is an integer multiple of the symbol period. The frame structure is temporally clamped, as a function of the MAC_OFFSET parameter.
The aperiodic mode is used for the DVB-RCS, NBI, DOCSIS and DVB-RCT standards. Recovery of the reference clock is performed according to a method known as the “NCR counter method”. This method involves the following seven steps.
The values of the NCR fields NCR(n) are extracted from the packets of the downstream data flow, and they are stamped without introducing temporal jitter despite the aperiodic nature of the NCR fields. This stamping is carried out, for example, as a function of the PCR (“Program Clock Reference”) information contained in the headers of the MPEG2 packets identified by a packet identifier or PID dedicated to the interactive service.
A local clock (or rather a local time base) is generated by locally overseeing a clock counter as a function of the stamped NCR(n) values (or “NCR stamp values”), in such a way as to minimize the error between the stamped NCR(n) values and the values of the local counter at the stamping instants.
The local clock is used to clamp the clocking of the terminal, taking account of the MAC_OFFSET offset parameter.
The local clock is used to synthesize the frequency of the symbols of the upstream flow.
The local clock is used to synthesize the carrier frequency of the return channel.
The local clock is used to organize and transmit the bursts of upstream data at specified respective instants.
And, there is generated a symbol string adjusted to the local clock, as well as the modulation carrier. The phase of the symbols should not exceed a given fraction of the period of the local clock within the limits of the burst. In certain cases, this may lead to the position of the burst being adjusted not only to an integer number of periods of the local clock but also to a fraction of the period of the local clock.
U.S. Pat. No. 6,072,369 discloses a network clock recovery circuit based on a DPLL. However, given its hardware design, this known circuit is specific to a specified broadcasting standard. It follows that such a circuit must be designed, manufactured and tested for each market standard. This increases the cost of the user terminals envisaged for a specified interactive telebroadcasting system and also the timescale for bringing them to the market.